package com.joey.jvm.example.init;

/**
 * A。虚拟机如何为对象分配内存:
 1.指针碰撞；
 2.根据内存空闲列表进行内存分配；

 到底运用哪种分配方式是由java的堆是否规整决定的，而是否规整是由垃圾回收策略【压缩】决定的。

 B。线程安全性问题：
 在堆内存中单独为每个线程分配一个区域：本地线程分配缓冲TLAB。

 1.线程同步；
 2.本地线程分配缓冲。

 C。初始化对象
 初始化默认值。对象是哪个类的实? 如何才能找到类的元素级信息? 对象的hash码？
 抽象数据类型的默认值就是null，整数基本数据类型就是0，boolean为false.

 D。执行构造方法(调用初始化方法)
 * @Author hyy
 **/
public class InitExample {

    public static void main(String[] args) {

        User user=new User();
        /*
        初始化默认值。对象是哪个类的实? 如何才能找到类的元素级信息? 对象的hash码？
抽象数据类型的默认值就是null，整数基本数据类型就是0，boolean为false.
         */
        System.out.println(user.toString());
    }
}
